home *** CD-ROM | disk | FTP | other *** search
/ CD School House 9 / CD School House 9.0 - Wayzata Technology (1994).iso / pc / dos / math / fsultra1 / makefile < prev    next >
Makefile  |  1992-06-01  |  15KB  |  422 lines

  1. # This is the makefile that I used to create the objects and tpu's
  2. # on my machine. The location (or even existence) of compilers may
  3. # be different in your configuration. Modify what is needed.
  4. #
  5. # Typing        make            will create all .obj and .tpu files
  6. # Typing        make demo       will run all of them and compare the
  7. #                               output with a standard. The result
  8. #                               is saved in a file called DIF.
  9. # Typing        make time       will time the program.
  10. #
  11.  
  12. VER   =105
  13. UNZIP = \util\pkware1.10\pkunzip
  14.  
  15. TPC  = tpc
  16. ASM  = c:\tasm\tasm -n
  17. C    = tcc
  18.  
  19. FORT = f77l
  20. LINK = link77
  21.  
  22. FOR2 = \fortran\qfort
  23. LNK2 = \fortran\qfortlnk
  24.  
  25. ZTIMER = ..\ztimer11.zip
  26. HDR  = comment.0+header+comment.1
  27.  
  28. # This is the list of all the objects that are to be created by the
  29. # makefile. Remove from here any objects which you don't want, or
  30. # whose compiler you don't have.
  31.  
  32. all: c tp lahey fort
  33.  
  34. ######## TURBO-C
  35.  
  36. c: ultra_ct.obj ultra_cs.obj ultra_cm.obj               \
  37.         ultra_cc.obj ultra_cl.obj ultra_ch.obj  \
  38.    ultrx_ct.obj ultrx_cs.obj ultrx_cm.obj               \
  39.         ultrx_cc.obj ultrx_cl.obj ultrx_ch.obj  \
  40.    ultrf_ct.obj ultrf_cs.obj ultrf_cm.obj               \
  41.         ultrf_cc.obj ultrf_cl.obj ultrf_ch.obj  \
  42.    ultfx_ct.obj ultfx_cs.obj ultfx_cm.obj               \
  43.         ultfx_cc.obj ultfx_cl.obj ultfx_ch.obj
  44.  
  45. ultra_ct.obj: ultra_c.asm ultracod.inc ultradat.inc
  46.   $(ASM) -dm=tiny      -mx ultra_c,ultra_ct;
  47. ultra_cs.obj: ultra_c.asm ultracod.inc ultradat.inc
  48.   $(ASM) -dm=small     -mx ultra_c,ultra_cs;
  49. ultra_cc.obj: ultra_c.asm ultracod.inc ultradat.inc
  50.   $(ASM) -dm=compact   -mx ultra_c,ultra_cc;
  51. ultra_cm.obj: ultra_c.asm ultracod.inc ultradat.inc
  52.   $(ASM) -dm=medium    -mx ultra_c,ultra_cm;
  53. ultra_cl.obj: ultra_c.asm ultracod.inc ultradat.inc
  54.   $(ASM) -dm=large     -mx ultra_c,ultra_cl;
  55. ultra_ch.obj: ultra_c.asm ultracod.inc ultradat.inc
  56.   $(ASM) -dm=huge      -mx ultra_c,ultra_ch;
  57.  
  58. ultrx_ct.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  59.   $(ASM) -dm=tiny      -mx ultrx_c,ultrx_ct;
  60. ultrx_cs.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  61.   $(ASM) -dm=small     -mx ultrx_c,ultrx_cs;
  62. ultrx_cc.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  63.   $(ASM) -dm=compact   -mx ultrx_c,ultrx_cc;
  64. ultrx_cm.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  65.   $(ASM) -dm=medium    -mx ultrx_c,ultrx_cm;
  66. ultrx_cl.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  67.   $(ASM) -dm=large     -mx ultrx_c,ultrx_cl;
  68. ultrx_ch.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  69.   $(ASM) -dm=huge      -mx ultrx_c,ultrx_ch;
  70.  
  71. ultrf_ct.obj: ultra_c.asm ultracod.inc ultradat.inc
  72.   $(ASM) -dfast -dm=tiny      -mx ultra_c,ultrf_ct;
  73. ultrf_cs.obj: ultra_c.asm ultracod.inc ultradat.inc
  74.   $(ASM) -dfast -dm=small     -mx ultra_c,ultrf_cs;
  75. ultrf_cc.obj: ultra_c.asm ultracod.inc ultradat.inc
  76.   $(ASM) -dfast -dm=compact   -mx ultra_c,ultrf_cc;
  77. ultrf_cm.obj: ultra_c.asm ultracod.inc ultradat.inc
  78.   $(ASM) -dfast -dm=medium    -mx ultra_c,ultrf_cm;
  79. ultrf_cl.obj: ultra_c.asm ultracod.inc ultradat.inc
  80.   $(ASM) -dfast -dm=large     -mx ultra_c,ultrf_cl;
  81. ultrf_ch.obj: ultra_c.asm ultracod.inc ultradat.inc
  82.   $(ASM) -dfast -dm=huge      -mx ultra_c,ultrf_ch;
  83.  
  84. ultfx_ct.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  85.   $(ASM) -dfast -dm=tiny      -mx ultrx_c,ultfx_ct;
  86. ultfx_cs.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  87.   $(ASM) -dfast -dm=small     -mx ultrx_c,ultfx_cs;
  88. ultfx_cc.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  89.   $(ASM) -dfast -dm=compact   -mx ultrx_c,ultfx_cc;
  90. ultfx_cm.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  91.   $(ASM) -dfast -dm=medium    -mx ultrx_c,ultfx_cm;
  92. ultfx_cl.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  93.   $(ASM) -dfast -dm=large     -mx ultrx_c,ultfx_cl;
  94. ultfx_ch.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
  95.   $(ASM) -dfast -dm=huge      -mx ultrx_c,ultfx_ch;
  96.  
  97. ######## TURBO PASCAL
  98.  
  99. tp: ultra.tpu ultrax.tpu ultraf.tpu ultrafx.tpu
  100.  
  101. ultra.tpu: ultratpu.pas ultra_tp.asm ultracod.inc ultradat.inc
  102.   copy ultratpu.pas ultra.pas
  103.   $(ASM) ultra_tp;
  104.   $(TPC) ultra.pas
  105.   del ultra.pas
  106.  
  107. ultrax.tpu: ultratpu.pas ultrx_tp.asm ultrxcod.inc ultradat.inc
  108.   copy ultratpu.pas ultrax.pas
  109.   $(ASM) ultrx_tp;
  110.   $(TPC) -Dx ultrax.pas
  111.   del ultrax.pas
  112.  
  113. ultraf.tpu: ultratpu.pas ultra_tp.asm ultracod.inc ultradat.inc
  114.   copy ultratpu.pas ultraf.pas
  115.   $(ASM) -dfast ultra_tp,ultrf_tp;
  116.   $(TPC) -df ultraf.pas
  117.   del ultraf.pas
  118.  
  119. ultrafx.tpu: ultratpu.pas ultrx_tp.asm ultrxcod.inc ultradat.inc
  120.   copy ultratpu.pas ultrafx.pas
  121.   $(ASM) -dfast ultrx_tp,ultfx_tp;
  122.   $(TPC) -Dfx ultrafx.pas
  123.   del ultrafx.pas
  124.  
  125. ######## LAHEY FORTRAN
  126.  
  127. lahey: ultra_lh.obj ultrx_lh.obj ultrf_lh.obj ultfx_lh.obj
  128.  
  129. ultra_lh.obj: ultra_lh.asm ultracod.inc ultradat.inc
  130.   $(ASM) ultra_lh;
  131. ultrx_lh.obj: ultrx_lh.asm ultrxcod.inc ultradat.inc
  132.   $(ASM) ultrx_lh;
  133. ultrf_lh.obj: ultra_lh.asm ultracod.inc ultradat.inc
  134.   $(ASM) -dfast ultra_lh,ultrf_lh;
  135. ultfx_lh.obj: ultrx_lh.asm ultrxcod.inc ultradat.inc
  136.   $(ASM) -dfast ultrx_lh,ultfx_lh;
  137.  
  138. ######## IBM FORTRAN/2
  139.  
  140. fort: ultra_fr.obj ultrf_fr.obj
  141.   echo 80386 versions don't seem to work with IBM Fortran/2
  142.  
  143. ultra_fr.obj: ultra_fr.asm ultracod.inc ultradat.inc
  144.   $(ASM) ultra_fr;
  145. ultrx_fr.obj: ultrx_fr.asm ultrxcod.inc ultradat.inc
  146.   echo 80386 version doesn't seem to work with IBM Fortran/2
  147. # $(ASM) ultrx_fr;
  148. ultrf_fr.obj: ultra_fr.asm ultracod.inc ultradat.inc
  149.   $(ASM) -dfast ultra_fr,ultrf_fr;
  150. ultfx_fr.obj: ultrx_fr.asm ultrxcod.inc ultradat.inc
  151.   echo 80386 version doesn't seem to work with IBM Fortran/2
  152. # $(ASM) -dfast ultrx_fr,ultfx_fr;
  153.  
  154. # The following is a test sequence to run the demo program and
  155. # compare its output with the standard output. The last few digits
  156. # might vary in floating point due to roundoff.
  157.  
  158. demo: democ demotp demolahey demofort
  159.  
  160. demo.out: demo.c ultra.c
  161.   $(C) -ms demo.c ultra.c
  162.   demo >demo.out
  163. demof.out: demo.c ultra.c
  164.   $(C) -Dfast -edemof -ms demo.c ultra.c
  165.   demof >demof.out
  166. dif.out:
  167.   if not exist dif.out type dif.out >dif.out
  168.  
  169. democ: dem_ct.out dem_cs.out dem_cc.out dem_cm.out dem_cl.out dem_ch.out \
  170.  demx_ct.out demx_cs.out demx_cc.out demx_cm.out demx_cl.out demx_ch.out \
  171.  demf_ct.out demf_cs.out demf_cc.out demf_cm.out demf_cl.out demf_ch.out \
  172.  demfx_ct.out demfx_cs.out demfx_cc.out demfx_cm.out demfx_cl.out demfx_ch.out
  173.  
  174. dem_ct.out: demo.c ultra_ct.obj demo.out dif.out
  175.   $(C) -edem_ct -mt demo.c ultra_ct.obj
  176.   dem_ct >dem_ct.out
  177.   fc demo.out dem_ct.out >>dif.out
  178. dem_cs.out: demo.c ultra_cs.obj demo.out dif.out
  179.   $(C) -edem_cs -ms demo.c ultra_cs.obj
  180.   dem_cs >dem_cs.out
  181.   fc demo.out dem_cs.out >>dif.out
  182. dem_cc.out: demo.c ultra_cc.obj demo.out dif.out
  183.   $(C) -edem_cc -mc demo.c ultra_cc.obj
  184.   dem_cc >dem_cc.out
  185.   fc demo.out dem_cc.out >>dif.out
  186. dem_cm.out: demo.c ultra_cm.obj demo.out dif.out
  187.   $(C) -edem_cm -mm demo.c ultra_cm.obj
  188.   dem_cm >dem_cm.out
  189.   fc demo.out dem_cm.out >>dif.out
  190. dem_cl.out: demo.c ultra_cl.obj demo.out dif.out
  191.   $(C) -edem_cl -ml demo.c ultra_cl.obj
  192.   dem_cl >dem_cl.out
  193.   fc demo.out dem_cl.out >>dif.out
  194. dem_ch.out: demo.c ultra_ch.obj demo.out dif.out
  195.   $(C) -edem_ch -mh demo.c ultra_ch.obj
  196.   dem_ch >dem_ch.out
  197.   fc demo.out dem_ch.out >>dif.out
  198.  
  199. demx_ct.out: demo.c ultrx_ct.obj demo.out dif.out
  200.   $(C) -edemx_ct -mt demo.c ultrx_ct.obj
  201.   demx_ct >demx_ct.out
  202.   fc demo.out demx_ct.out >>dif.out
  203. demx_cs.out: demo.c ultrx_cs.obj demo.out dif.out
  204.   $(C) -edemx_cs -ms demo.c ultrx_cs.obj
  205.   demx_cs >demx_cs.out
  206.   fc demo.out demx_cs.out >>dif.out
  207. demx_cc.out: demo.c ultrx_cc.obj demo.out dif.out
  208.   $(C) -edemx_cc -mc demo.c ultrx_cc.obj
  209.   demx_cc >demx_cc.out
  210.   fc demo.out demx_cc.out >>dif.out
  211. demx_cm.out: demo.c ultrx_cm.obj demo.out dif.out
  212.   $(C) -edemx_cm -mm demo.c ultrx_cm.obj
  213.   demx_cm >demx_cm.out
  214.   fc demo.out demx_cm.out >>dif.out
  215. demx_cl.out: demo.c ultrx_cl.obj demo.out dif.out
  216.   $(C) -edemx_cl -ml demo.c ultrx_cl.obj
  217.   demx_cl >demx_cl.out
  218.   fc demo.out demx_cl.out >>dif.out
  219. demx_ch.out: demo.c ultrx_ch.obj demo.out dif.out
  220.   $(C) -edemx_ch -mh demo.c ultrx_ch.obj
  221.   demx_ch >demx_ch.out
  222.   fc demo.out demx_ch.out >>dif.out
  223.  
  224. demf_ct.out: demo.c ultrf_ct.obj demof.out dif.out
  225.   $(C) -edemf_ct -mt demo.c ultrf_ct.obj
  226.   demf_ct >demf_ct.out
  227.   fc demof.out demf_ct.out >>dif.out
  228. demf_cs.out: demo.c ultrf_cs.obj demof.out dif.out
  229.   $(C) -edemf_cs -ms demo.c ultrf_cs.obj
  230.   demf_cs >demf_cs.out
  231.   fc demof.out demf_cs.out >>dif.out
  232. demf_cc.out: demo.c ultrf_cc.obj demof.out dif.out
  233.   $(C) -edemf_cc -mc demo.c ultrf_cc.obj
  234.   demf_cc >demf_cc.out
  235.   fc demof.out demf_cc.out >>dif.out
  236. demf_cm.out: demo.c ultrf_cm.obj demof.out dif.out
  237.   $(C) -edemf_cm -mm demo.c ultrf_cm.obj
  238.   demf_cm >demf_cm.out
  239.   fc demof.out demf_cm.out >>dif.out
  240. demf_cl.out: demo.c ultrf_cl.obj demof.out dif.out
  241.   $(C) -edemf_cl -ml demo.c ultrf_cl.obj
  242.   demf_cl >demf_cl.out
  243.   fc demof.out demf_cl.out >>dif.out
  244. demf_ch.out: demo.c ultrf_ch.obj demof.out dif.out
  245.   $(C) -edemf_ch -mh demo.c ultrf_ch.obj
  246.   demf_ch >demf_ch.out
  247.   fc demof.out demf_ch.out >>dif.out
  248.  
  249. demfx_ct.out: demo.c ultfx_ct.obj demof.out dif.out
  250.   $(C) -edemfx_ct -mt demo.c ultfx_ct.obj
  251.   demfx_ct >demfx_ct.out
  252.   fc demof.out demfx_ct.out >>dif.out
  253. demfx_cs.out: demo.c ultfx_cs.obj demof.out dif.out
  254.   $(C) -edemfx_cs -ms demo.c ultfx_cs.obj
  255.   demfx_cs >demfx_cs.out
  256.   fc demof.out demfx_cs.out >>dif.out
  257. demfx_cc.out: demo.c ultfx_cc.obj demof.out dif.out
  258.   $(C) -edemfx_cc -mc demo.c ultfx_cc.obj
  259.   demfx_cc >demfx_cc.out
  260.   fc demof.out demfx_cc.out >>dif.out
  261. demfx_cm.out: demo.c ultfx_cm.obj demof.out dif.out
  262.   $(C) -edemfx_cm -mm demo.c ultfx_cm.obj
  263.   demfx_cm >demfx_cm.out
  264.   fc demof.out demfx_cm.out >>dif.out
  265. demfx_cl.out: demo.c ultfx_cl.obj demof.out dif.out
  266.   $(C) -edemfx_cl -ml demo.c ultfx_cl.obj
  267.   demfx_cl >demfx_cl.out
  268.   fc demof.out demfx_cl.out >>dif.out
  269. demfx_ch.out: demo.c ultfx_ch.obj demof.out dif.out
  270.   $(C) -edemfx_ch -mh demo.c ultfx_ch.obj
  271.   demfx_ch >demfx_ch.out
  272.   fc demof.out demfx_ch.out >>dif.out
  273.  
  274. demotp: dem_tp.out demx_tp.out demf_tp.out demfx_tp.out
  275.  
  276. dem_tp.out: demo.pas ultra.tpu demo.out dif.out
  277.   $(TPC) demo.pas
  278.   demo >dem_tp.out
  279.   fc demo.out dem_tp.out >>dif.out
  280. demx_tp.out: demo.pas ultrax.tpu demo.out dif.out
  281.   $(TPC) -Dx demo.pas
  282.   demo >demx_tp.out
  283.   fc demo.out demx_tp.out >>dif.out
  284. demf_tp.out: demo.pas ultraf.tpu demof.out dif.out
  285.   $(TPC) -Df demo.pas
  286.   demo >demf_tp.out
  287.   fc demof.out demf_tp.out >>dif.out
  288. demfx_tp.out: demo.pas ultrafx.tpu demof.out dif.out
  289.   $(TPC) -Dfx demo.pas
  290.   demo >demfx_tp.out
  291.   fc demof.out demfx_tp.out >>dif.out
  292.  
  293. demolahey: dem_lh.out demx_lh.out demf_lh.out demfx_lh.out
  294.  
  295. dem_lh.out: demo.for ultra_lh.obj demo.out dif.out
  296.   $(FORT) demo
  297.   $(LINK) demo+ultra_lh.obj,dem_lh;
  298.   dem_lh >dem_lh.out
  299.   fc demo.out dem_lh.out >>dif.out
  300. demx_lh.out: demo.for ultrx_lh.obj demo.out dif.out
  301.   $(FORT) demo
  302.   $(LINK) demo+ultrx_lh.obj,demx_lh;
  303.   demx_lh >demx_lh.out
  304.   fc demo.out demx_lh.out >>dif.out
  305. demf_lh.out: demo.for ultrf_lh.obj demof.out dif.out
  306.   $(FORT) demo
  307.   $(LINK) demo+ultrf_lh.obj,demf_lh;
  308.   demf_lh >demf_lh.out
  309.   fc demof.out demf_lh.out >>dif.out
  310. demfx_lh.out: demo.for ultfx_lh.obj demof.out dif.out
  311.   $(FORT) demo
  312.   $(LINK) demo+ultfx_lh.obj,demfx_lh;
  313.   demfx_lh >demfx_lh.out
  314.   fc demof.out demfx_lh.out >>dif.out
  315.  
  316. demofort: dem_fr.out demf_fr.out
  317.  
  318. dem_fr.out: demo.for ultra_fr.obj demo.out dif.out
  319.   $(FOR2) demo
  320.   $(LNK2) demo+ultra_fr.obj,dem_fr;
  321.   dem_fr >dem_fr.out
  322.   fc demo.out dem_fr.out >>dif.out
  323. demx_fr.out: demo.for ultrx_fr.obj demo.out dif.out
  324.   echo 80386 versions don't seem to work with IBM Fortran/2
  325. #  $(FOR2) demo
  326. #  $(LNK2) demo+ultrx_fr.obj,demx_fr;
  327. #  demx_fr >demx_fr.out
  328. #  fc demo.out demx_fr.out >>dif.out
  329. demf_fr.out: demo.for ultrf_fr.obj demof.out dif.out
  330.   $(FOR2) demo
  331.   $(LNK2) demo+ultrf_fr.obj,demf_fr;
  332.   demf_fr >demf_fr.out
  333.   fc demof.out demf_fr.out >>dif.out
  334. demfx_fr.out: demo.for ultfx_fr.obj demof.out dif.out
  335.   echo 80386 versions don't seem to work with IBM Fortran/2
  336. #  $(FOR2) demo
  337. #  $(LNK2) demo+ultfx_fr.obj,demfx_fr;
  338. #  demfx_fr >demfx_fr.out
  339. #  fc demof.out demfx_fr.out >>dif.out
  340.  
  341. # The timings can be obtained by running the following program.
  342. # Currently it runs the 32-bit small model C, but other models
  343. # could be run by changing the following lines:
  344.  
  345. debug.h: timer
  346. ztimer.h: timer
  347. ztimer_s.lib: timer
  348.  
  349. timer:
  350.   $(UNZIP) -n $(ZTIMER) debug.h ztimer.h ztimer_s.lib
  351.  
  352. time: debug.h ztimer.h ztimer_s.lib \
  353.     ultra_cs.obj ultrx_cs.obj ultrf_cs.obj ultfx_cs.obj
  354.   $(C)  -ms timings.c ultrx_cs.obj ztimer_s.lib
  355.   echo 80386/80486 full version >timings.out
  356.   timings >>timings.out
  357.   $(C)  -ms timings.c ultra_cs.obj ztimer_s.lib
  358.   echo 8086/80286 full version >>timings.out
  359.   timings >>timings.out
  360.   $(C) -ms timings.c ultra.c ztimer_s.lib
  361.   echo C - subroutines
  362.   timings >>timings.out
  363.   
  364.   $(C)  -ms timings.c ultfx_cs.obj ztimer_s.lib
  365.   echo 80386/80486 fast version >>timings.out
  366.   timings >>timings.out
  367.   $(C)  -ms timings.c ultrf_cs.obj ztimer_s.lib
  368.   echo 8086/80286 fast version >>timings.out
  369.   timings >>timings.out
  370.   $(C) -ms -Dfast timings.c ultra.c ztimer_s.lib
  371.   echo C - fast subroutines
  372.   timings >>timings.out
  373.  
  374. clean:
  375.   del *.out
  376.   del *.obj
  377.   del *.tpu
  378.   del model.mac
  379.   del dif
  380.   del *.exe
  381.   del *.sld
  382.   del *.map
  383.   del ztim*.*
  384.   del debug.h
  385.  
  386. ship: all
  387.   md ship
  388.   md ship\objects
  389.   copy *.obj             ship\objects
  390.   copy *.tpu            ship\objects
  391.   copy makefile            ship
  392.   copy header+ultra.doc         ship\ultra.doc
  393.   copy header+readme            ship\readme
  394.   copy header.f+demo.for        ship\demo.for
  395.   echo comment ! >comment.0
  396.   echo !         >comment.1
  397.   copy $(HDR)+ultra_c.asm       ship\ultra_c.asm
  398.   copy $(HDR)+ultra_tp.asm      ship\ultra_tp.asm
  399.   copy $(HDR)+ultra_fr.asm      ship\ultra_fr.asm
  400.   copy $(HDR)+ultra_lh.asm      ship\ultra_lh.asm
  401.   copy $(HDR)+ultracod.inc      ship\ultracod.inc
  402.   copy $(HDR)+ultradat.inc      ship\ultradat.inc
  403.   copy $(HDR)+ultrx_c.asm       ship\ultrx_c.asm
  404.   copy $(HDR)+ultrx_tp.asm      ship\ultrx_tp.asm
  405.   copy $(HDR)+ultrx_fr.asm      ship\ultrx_fr.asm
  406.   copy $(HDR)+ultrx_lh.asm      ship\ultrx_lh.asm
  407.   copy $(HDR)+ultrxcod.inc      ship\ultrxcod.inc
  408.   echo /* >comment.0
  409.   echo */ >comment.1
  410.   copy $(HDR)+timings.c     ship\timings.c
  411.   copy $(HDR)+ultra.c       ship\ultra.c
  412.   copy $(HDR)+ultra.h       ship\ultra.h
  413.   copy $(HDR)+demo.c        ship\demo.c
  414.   copy $(HDR)+ultramac.c    ship\ultramac.c 
  415.   echo {  >comment.0
  416.   echo }  >comment.1
  417.   copy $(HDR)+ultratpu.pas    ship\ultratpu.pas
  418.   copy $(HDR)+demo.pas        ship\demo.pas
  419.   del comment.*
  420.   zip -rp ultra$(VER) ship\*.*
  421.  
  422.